#ifndef SQ_STRING_STACK_  						//这句是用于防止多次引用头文件导致问题
#define SQ_STRING_STACK_  						//这句是用于防止多次引用头文件导致问题
#include <stdio.h>
#include <stdbool.h>


#define MAXSIZE 20
typedef char* String;
typedef struct 
{
	String data[MAXSIZE];
	int top;							//用于栈顶指针
} StringStack;

 
int DestroyStringStack(StringStack *S);			//若栈存在，则销毁它  
int ClearStringStack(StringStack *S);			//将栈清空
bool StringStackEmpty(StringStack S);				//若栈为空，返回true，否则返回false
int StringGetTop(StringStack *S,String *e);	//若栈存在且非空，用e返回S的栈顶元素
int StringStackPush(StringStack *S,String *e);	//若栈S存在，插入新元素e到栈S中并称为栈顶元素  
int StringStackPop(StringStack *S,String *e);		//删除栈S中栈顶元素，并用e返回其值  
int StringStackLength(StringStack S);				//返回栈S的元素个数 

#endif
